namespace CSharpPro._0925;

public class Demo
{
    //作业1
    public void TestPrint(int year)
    {
        //判断闰年
        //1.能被4整除，且不能被100整除
        //2.能被400整除
        bool flag = (year % 4 == 0 && year % 100 != 0)||(year % 400 == 0);
        Console.WriteLine($"{year}年{(flag ? "是" :"不是")}闰年");
    }

    //作业2
    public void TestPrint2()
    {
        const double originalPrice = 8800;
                    double discount = 0;
                    int month;
                    string transport;

                    // 1. 获取并验证出行月份
                    while (true)
                    {
                        Console.Write("请输入出行月份（1-12）：");
                        // 尝试将输入转换为整数，若失败或超出范围则重新输入
                        if (int.TryParse(Console.ReadLine(), out month) && month >= 1 && month <= 12)
                        {
                            break;
                        }
                        Console.WriteLine("月份输入无效，请重新输入1-12之间的整数！");
                    }

                    // 2. 获取并验证交通方式
                    while (true)
                    {
                        Console.Write("请输入交通方式（航班/动车）：");
                        transport = Console.ReadLine()?.Trim();
                        // 验证输入是否为指定的两种方式
                        if (transport == "航班" || transport == "动车")
                        {
                            break;
                        }
                        Console.WriteLine("交通方式输入无效，请仅输入“航班”或“动车”！");
                    }

                    // 3. 根据月份和交通方式确定折扣
                    if (month >= 5 && month <= 10)
                    {
                        // 旺季折扣
                        discount = transport == "航班" ? 0.9 : 0.75;
                    }
                    else
                    {
                        // 淡季折扣
                        discount = transport == "航班" ? 0.6 : 0.3;
                    }

                    // 4. 计算最终价格（保留2位小数，符合货币格式）
                    double finalPrice = Math.Round(originalPrice * discount, 2);

                    // 5. 输出结果
                    Console.WriteLine($"\n出行信息：{month}月，{transport}出行");
                    Console.WriteLine($"原价：{originalPrice:C}");
                    Console.WriteLine($"折扣：{discount:P}");
                    Console.WriteLine($"最终价格：{finalPrice:C}");

                    // 防止控制台闪退（按任意键关闭）
                    Console.WriteLine("\n按任意键退出...");
                    Console.ReadKey();
                }

    public void PrintNarcissisticNumbers()
    {
        throw new NotImplementedException();
    }

    public void PrintPrimeNumbers()
    {
        throw new NotImplementedException();
    }
}
        
        
        
    
        
